package net.zjitc.linearlist.impl;

import net.zjitc.linearlist.MyLinearList;

import java.lang.reflect.Array;

/**
 * Created by Administrator on 2017/3/2.
 */


public class SeqList<E> implements MyLinearList<E>{
   /*定义一个数组*/
     private E[] data ;
   /*定义一个索引*/
     private int size;
     //表示数组的最大长度  data.length
     private int maxSize;

     /*初始化*/
    public SeqList(Class<E> type , int maxSize) {
        /*让数组工具帮我们new ，给个类名和长度*/
        data = (E[]) Array.newInstance(type,maxSize);
        size = 0;
        this.maxSize = maxSize;
    }

    /**
     * 在顺序表的最后面插入一个元素
     * @param e //要添加的元素
     */
    @Override
    public void add(E e) {
        //判断空间是否够用
        if (size >= maxSize){
            throw new RuntimeException("越界");
        }
        //
        data[size] = e;
        size++;
    }

    /**
     * 在指定位置插入一个元素
     * @param i
     * @param e
     */
    @Override
    public void add(int i, E e) {

    }

    @Override
    public void remove(int i) {

    }

    @Override
    public int indexOf(E e) {
        return 0;
    }

    @Override
    public E get(int i) {
        return null;
    }

    @Override
    public void edit(int i, E e) {

    }

    @Override
    public int getSize() {
        return 0;
    }

    @Override
    public void clear() {

    }

    @Override
    public boolean isEmpty() {
        return false;
    }
}
